﻿<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Untitled Document</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <link type="text/css" href="resources/css/reset.css" rel="Stylesheet"/>
    <link type="text/css" href="resources/css/default.css" rel="Stylesheet"/>
    <!--<link href='https://fonts.googleapis.com/css?family=Nunito:300' rel='stylesheet' type='text/css'>-->

    <script type="text/javascript">

        if (location.href.toString().indexOf('file://localhost/') == 0) {
            location.href = location.href.toString().replace('file://localhost/', 'file:///');
        }
    </script>

    <script type="text/javascript" src="resources/scripts/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="resources/scripts/player/splitter.js"></script>
    <script type="text/javascript" src="resources/scripts/axutils.js"></script>
    <script type="text/javascript" src="resources/scripts/player/axplayer.js"></script>
    <script type="text/javascript" src="resources/scripts/messagecenter.js"></script>
    <script type="text/javascript" src="data/document.js"></script>
    <style type="text/css">

        #outerContainer {
            width: 1000px;
            height: 1500px;
        }

        .vsplitbar {
            width: 3px;
            /*background: #B9B9B9;*/
            border-right: 1px solid #8f949a;
        }

        .vsplitbar:hover, .vsplitbar.active {
            background: #8f949a;
        }

        #rightPanel {
            background-color: White;
        }

        /*#leftPanel {
            min-width: 120px;
        }*/

        .splitterMask {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            background-image: url(resources/images/transparent.gif);
            z-index: 20000;
        }

    </style>
    <script type="text/javascript" language="JavaScript"><!--
    var SITEMAP_COLLAPSE_VAR_NAME = 'c';
    var PLUGIN_VAR_NAME = 'g';
    var FOOTNOTES_VAR_NAME = 'fn';
    var ADAPTIVE_VIEW_VAR_NAME = 'view';
    var lastLeftPanelWidth = 295;
    var toolBarOnly = true;

    // isolate scope
    (function () {
        setUpController();

        var configuration = $axure.document.configuration;
        var _settings = {};
        _settings.projectId = configuration.prototypeId;
        _settings.isAxshare = configuration.isAxshare;
        _settings.loadFeedbackPlugin = configuration.loadFeedbackPlugin;
        var cHash = getHashStringVar(SITEMAP_COLLAPSE_VAR_NAME);
        _settings.startCollapsed = cHash == "1";
        if (cHash == "2") closePlayer();
        var gHash = getHashStringVar(PLUGIN_VAR_NAME);
        if (gHash == "") gHash = 1;
        _settings.startPluginGid = gHash;

        $axure.player.settings = _settings;

        $(window).bind('load', function () {
            if (CHROME_5_LOCAL && !$('body').attr('pluginDetected')) {
                window.location = 'resources/chrome/chrome.html';
            }
        });

        $(document).ready(function () {
            $axure.page.bind('load.start', mainFrame_onload);
            $axure.messageCenter.addMessageListener(messageCenter_message);

            $(document).on('pluginShown', function (event, data) {
                setVarInCurrentUrlHash('g', data ? data : '');
            });

            $(document).on('pluginCreated', function (event, data) {
                if ($axure.player.settings.startPluginGid == data) {
                    $axure.player.showPlugin(data);
                }
            });

            if ($axure.player.settings.loadFeedbackPlugin) {
                if ($axure.player.settings.isAxshare) {
                    $axure.utils.loadJS('/Scripts/plugins/feedback/feedback8.js');
                } else {
                    $axure.utils.loadJS('http://share.axure.com/Scripts/plugins/feedback/feedback8.js');
                }
            }

            if (navigator.userAgent.indexOf("MSIE") >= 0) $('#outerContainer').width('100%');
            initialize();
            if ($axure.player.settings.startCollapsed) $('#outerContainer').splitter({sizeLeft: 0});
            else $('#outerContainer').splitter({sizeLeft: lastLeftPanelWidth});
            $('#leftPanel').width(lastLeftPanelWidth);

            $(window).resize(function () {
                resizeContent();
            });

            $('#maximizePanelContainer').hide();

            initializeLogo();

            $(window).resize();
            resizeContent();

            $axure.player.collapseToBar();

            if ($axure.player.settings.startCollapsed) {
                collapse();
                $('#leftPanel').width(0);
            }

            if (MOBILE_DEVICE) {
                $('#interfaceControlFrameMinimizeContainer').height('45px');
                $('#interfaceControlFrameMinimizeContainer a').height('45px');
                $('#interfaceControlFrameHeaderContainer').css('margin-top', '45px');
                $('#interfaceControlFrameCloseContainer a').css('padding', '10px 0px');
                $('#maximizePanelContainer').height('45px');//.css('top','inherit').css('bottom','0px');

                $('body').removeClass('hashover');

                if (IOS) {
                    $('#rightPanel').css('overflow', 'auto').css('-webkit-overflow-scrolling', 'touch').css('-ms-overflow-x', 'hidden');

                    window.addEventListener("orientationchange", function () {
                        var viewport = document.querySelector("meta[name=viewport]");
                        //so iOS doesn't zoom when switching back to portrait
                        viewport.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0');
                        viewport.setAttribute('content', 'width=device-width, initial-scale=1.0');
                        resizeContent();
                    }, false);

                    $axure.page.bind('load.start', function () {
                        resizeContent();
                    });
                }
            }

        });

        function initialize() {
            var legacyQString = getQueryString("Page");
            if (legacyQString.length > 0) {
                location.href = location.href.substring(0, location.href.indexOf("?")) + "#p=" + legacyQString;
                return;
            }

            var mainFrame = document.getElementById("mainFrame");
            mainFrame.contentWindow.location.href = getInitialUrl();
        }

        function initializeLogo() {
            if ($axure.document.configuration.logoImagePath) {
                var image = new Image();
                image.onload = function () {
                    $('#logoImage').css('max-width', this.width + 'px');
                    $axure.player.resizeContent();
                };
                image.src = $axure.document.configuration.logoImagePath;

                $('#interfaceControlFrameLogoImageContainer').html('<img id="logoImage" src="" />');
                $('#logoImage').attr('src', $axure.document.configuration.logoImagePath).load(function () {
                    resizeContent();
                });
            } else $('#interfaceControlFrameLogoImageContainer').hide();

            if ($axure.document.configuration.logoImageCaption) {
                $('#interfaceControlFrameLogoCaptionContainer').html($axure.document.configuration.logoImageCaption);
            } else $('#interfaceControlFrameLogoCaptionContainer').hide();

            if (!$('#interfaceControlFrameLogoImageContainer').is(':visible') && !$('#interfaceControlFrameLogoCaptionContainer').is(':visible')) {
                $('#interfaceControlFrameLogoContainer').hide();
            }
        }

        var resizeContent = $axure.player.resizeContent = function () {
            var newHeight = $(window).height();
            var newWidth = $(window).width();

            var controlContainerHeight = newHeight;// - 30;
            if ($('#interfaceControlFrameLogoContainer').is(':visible')) controlContainerHeight -= $('#interfaceControlFrameLogoContainer').outerHeight();// + 16;

            $('#outerContainer').height(newHeight).width(newWidth);
            $('.vsplitbar').height(newHeight);
            $('#leftPanel').height(newHeight);
            $('#interfaceControlFrame').height(newHeight);
            $('#interfaceControlFrameContainer').height(newHeight);
            $('#interfaceControlFrameHostContainer').height(controlContainerHeight);

            $('#rightPanel').height(newHeight);
            $('#mainFrame').height(newHeight);

            if ($('#leftPanel').is(':visible')) $('#rightPanel').width($(window).width() - $('#leftPanel').width() - 1);// $('.vsplitbar').width());
            else $('#rightPanel').width($(window).width());

            $(document).trigger('ContainerHeightChange', [controlContainerHeight]);

            if (MOBILE_DEVICE) {
                if (!(getHashStringVar(ADAPTIVE_VIEW_VAR_NAME).length > 0)) $axure.messageCenter.postMessage('setAdaptiveViewForSize', {
                    'width': newWidth,
                    'height': $('#rightPanel').height()
                });
            }
        }

        var collapseToBar = $axure.player.collapseToBar = function () {
            lastLeftPanelWidth = $('#leftPanel').width();
            $('#leftPanel').width('55px');
            $('.vsplitbar').hide();
            $('#rightPanel').width($(window).width() - $('#leftPanel').width());
            $(window).resize();
            $('#outerContainer').trigger('resize');
            toolBarOnly = true;
        }

        var expandFromBar = $axure.player.expandFromBar = function () {
            if ($('.vsplitbar').is(':visible')) return;

            $('#leftPanel').width(lastLeftPanelWidth);
            $('.vsplitbar').show();
            $('#rightPanel').width($(window).width() - $('#leftPanel').width() - 1);// $('.vsplitbar').width());
            $(window).resize();
            $('#outerContainer').trigger('resize');
            toolBarOnly = false;
        }

    })();

    function messageCenter_message(message, data) {
        if (message == 'expandFrame') expand();
        else if (message == 'getCollapseFrameOnLoad' && $axure.player.settings.startCollapsed && !MOBILE_DEVICE) $axure.messageCenter.postMessage('collapseFrameOnLoad');
    }


    function getInitialUrl() {
        var pageName = getHashStringVar("p");
        if (pageName.length > 0) return pageName + ".html";
        else {
            var url = getFirstPageUrl($axure.document.sitemap.rootNodes);
            return (url ? url : "about:blank");
        }
    }

    function getFirstPageUrl(nodes) {
        for (var i = 0; i < nodes.length; i++) {
            var node = nodes[i];
            if (node.url) return node.url;
            else {
                var hasChildren = (node.children && node.children.length > 0);
                if (hasChildren) {
                    var url = getFirstPageUrl(node.children);
                    if (url) return url;
                }
            }
        }
        return null;
    }

    function closePlayer() {
        if ($axure.page.location) window.location.href = $axure.page.location;
        else {
            var pageFile = getInitialUrl();
            var currentLocation = window.location.toString();
            window.location.href = currentLocation.substr(0, currentLocation.lastIndexOf("/") + 1) + pageFile;
        }
    }

    function replaceHash(newHash) {
        var currentLocWithoutHash = window.location.toString().split('#')[0];

        //We use replace so that every hash change doesn't get appended to the history stack.
        //We use replaceState in browsers that support it, else replace the location
        if (typeof window.history.replaceState != 'undefined') {
            try {
                //Chrome 45 (Version 45.0.2454.85 m) started throwing an error here when generated locally (this only happens with sitemap open) which broke all interactions.
                //try catch breaks the url adjusting nicely when the sitemap is open, but all interactions and forward and back buttons work.
                //Uncaught SecurityError: Failed to execute 'replaceState' on 'History': A history state object with URL 'file:///C:/Users/Ian/Documents/Axure/HTML/Untitled/start.html#p=home' cannot be created in a document with origin 'null'.
                window.history.replaceState(null, null, currentLocWithoutHash + newHash);
            } catch (ex) {
            }
        } else {
            window.location.replace(currentLocWithoutHash + newHash);
        }
    }

    function collapse() {
        setVarInCurrentUrlHash('c', 1);
        if (!toolBarOnly) lastLeftPanelWidth = $('#leftPanel').width();

        $('#maximizePanelContainer').show();
        $('#leftPanel').hide();
        $('.vsplitbar').hide();
        $('#rightPanel').width($(window).width());
        $(window).resize();
        $('#outerContainer').trigger('resize');

        $(document).trigger('sidebarCollapse');

        if (MOBILE_DEVICE) {
            $('#maximizePanelContainer').animate({
                top: $('#rightPanel').height() - $('#maximizePanelContainer').height()
            }, 300, 'swing', function () {
                $('#maximizePanelContainer').css('top', 'inherit').css('bottom', '0px');
            });
        }
    }

    function expand() {
        if (MOBILE_DEVICE) {
            $('#maximizePanelContainer').css('top', '0px').css('bottom', 'inherit');
        }

        deleteVarFromCurrentUrlHash('c');
        $('#maximizePanelContainer').hide();
        $('#leftPanel').width(lastLeftPanelWidth);
        $('#leftPanel').show();
        if (!toolBarOnly) {
            $('.vsplitbar').show();
            $('#rightPanel').width($(window).width() - $('#leftPanel').width() - 1);
        } else {
            $axure.player.collapseToBar();
        }
        $(window).resize();
        $('#outerContainer').trigger('resize');

        $(document).trigger('sidebarExpanded');
    }


    function mainFrame_onload() {
        if ($axure.page.pageName) document.title = $axure.page.pageName;
    }

    function getQueryString(query) {
        var qstring = self.location.href.split("?");
        if (qstring.length < 2) return "";
        return GetParameter(qstring, query);
    }

    function GetParameter(qstring, query) {
        var prms = qstring[1].split("&");
        var frmelements = new Array();
        var currprmeter, querystr = "";

        for (var i = 0; i < prms.length; i++) {
            currprmeter = prms[i].split("=");
            frmelements[i] = new Array();
            frmelements[i][0] = currprmeter[0];
            frmelements[i][1] = currprmeter[1];
        }

        for (j = 0; j < frmelements.length; j++) {
            if (frmelements[j][0].toLowerCase() == query.toLowerCase()) {
                querystr = frmelements[j][1];
                break;
            }
        }
        return querystr;
    }

    function getHashStringVar(query) {
        var qstring = self.location.href.split("#");
        if (qstring.length < 2) return "";
        return GetParameter(qstring, query);
    }

    function setHashStringVar(currentHash, varName, varVal) {
        var varWithEqual = varName + '=';
        var poundVarWithEqual = varVal === '' ? '' : '#' + varName + '=' + varVal;
        var ampVarWithEqual = varVal === '' ? '' : '&' + varName + '=' + varVal;
        var hashToSet = '';

        var pageIndex = currentHash.indexOf('#' + varWithEqual);
        if (pageIndex == -1) pageIndex = currentHash.indexOf('&' + varWithEqual);
        if (pageIndex != -1) {
            var newHash = currentHash.substring(0, pageIndex);

            newHash = newHash == '' ? poundVarWithEqual : newHash + ampVarWithEqual;

            var ampIndex = currentHash.indexOf('&', pageIndex + 1);
            if (ampIndex != -1) {
                newHash = newHash == '' ? '#' + currentHash.substring(ampIndex + 1) : newHash + currentHash.substring(ampIndex);
            }
            hashToSet = newHash;
        } else if (currentHash.indexOf('#') != -1) {
            hashToSet = currentHash + ampVarWithEqual;
        } else {
            hashToSet = poundVarWithEqual;
        }

        if (hashToSet != '' || varVal == '') {
            return hashToSet;
        }

        return null;
    }

    function setVarInCurrentUrlHash(varName, varVal) {
        var newHash = setHashStringVar(window.location.hash, varName, varVal);

        if (newHash != null) {
            replaceHash(newHash);
        }
    }

    function deleteHashStringVar(currentHash, varName) {
        var varWithEqual = varName + '=';

        var pageIndex = currentHash.indexOf('#' + varWithEqual);
        if (pageIndex == -1) pageIndex = currentHash.indexOf('&' + varWithEqual);
        if (pageIndex != -1) {
            var newHash = currentHash.substring(0, pageIndex);

            var ampIndex = currentHash.indexOf('&', pageIndex + 1);

            //IF begin of string....if none blank, ELSE # instead of & and rest
            //IF in string....prefix + if none blank, ELSE &-rest
            if (newHash == '') { //beginning of string
                newHash = ampIndex != -1 ? '#' + currentHash.substring(ampIndex + 1) : '';
            } else { //somewhere in the middle
                newHash = newHash + (ampIndex != -1 ? currentHash.substring(ampIndex) : '');
            }

            return newHash;
        }

        return null;
    }

    function deleteVarFromCurrentUrlHash(varName) {
        var newHash = deleteHashStringVar(window.location.hash, varName);

        if (newHash != null) {
            replaceHash(newHash);
        }
    }

    --></script>

    <link type="text/css" rel="Stylesheet" href="plugins/sitemap/styles/sitemap.css"/>
    <script type="text/javascript" src="plugins/sitemap/sitemap.js"></script>
    <link type="text/css" rel="Stylesheet" href="plugins/page_notes/styles/page_notes.css"/>
    <script type="text/javascript" src="plugins/page_notes/page_notes.js"></script>
    <!--<link type="text/css" rel="Stylesheet" href="plugins/recordplay/styles/recordplay.css" />
    <script type="text/javascript" src="plugins/recordplay/recordplay.js"></script>-->
    <link type="text/css" rel="Stylesheet" href="plugins/debug/styles/debug.css"/>
    <script type="text/javascript" src="plugins/debug/debug.js"></script>

</head>
<body scroll="no" class="hashover">
<div id="outerContainer">

    <div id="leftPanel">
        <div id="interfaceControlFrame">
            <div id="interfaceControlFrameMinimizeContainer">
                <a title="Collapse" id="interfaceControlFrameMinimizeButton" onclick="collapse();">&nbsp;</a>
            </div>
            <div id="interfaceControlFrameHeaderContainer">
                <ul id="interfaceControlFrameHeader"></ul>
            </div>
            <div id="interfaceControlFrameContainer">
                <div id="interfaceControlFrameLogoContainer">
                    <div id="interfaceControlFrameLogoImageContainer"></div>
                    <div id="interfaceControlFrameLogoCaptionContainer"></div>
                </div>
                <div id="interfaceControlFrameHostContainer">
                </div>
            </div>
            <div id="interfaceControlFrameCloseContainer">
                <a title="Close" id="interfaceControlFrameCloseButton" onclick="closePlayer();">CLOSE</a>
            </div>
        </div>
    </div>
    <div id="rightPanel">
        <iframe id="mainFrame" name="mainFrame" width="100%" height="100%" src="" frameborder="0"
                style="display: block;"></iframe>
    </div>

</div>

<div id="maximizePanelContainer">
    <iframe id="expandFrame" src="resources/expand.html" width="100%" height="100%" scrolling="no"
            allowtransparency="true" frameborder="0"></iframe>
</div>

</body>
</html>
